<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>191-常见事件对象属性和方法</title>
</head>

<body>
    <div>123</div>
    <ul>
        <li>abc</li>
        <li>abc</li>
        <li>abc</li>
    </ul>
    <script>
        // 常见事件对象属性和方法
        // 1. e.target 返回的是触发事件的对象（元素）   this 返回的是绑定事件的对象（元素）
        // 区别：e.target 点击了那个元素，就返回那个元素；this 那个元素绑定了这个点击事件，那么就返回谁。
        var div = document.querySelector('div');
        div.addEventListener('click', function (e) {
            console.log(e.target);
            console.log(this);
        });
        var ul = document.querySelector('ul');
        ul.addEventListener('click', function () {
            // 我们给 ul 绑定了事件，那么 this 就指向 ul
            console.log(this);
            console.log(e.currentTarget);
            // e.target 指向我们点击的那个对象，谁触发了这个事件，我们点击的是li e.target 指向的就是 li。
            console.log(e.target);
        });
        // 了解兼容性
        div.onclick = function (e) {
            e = e || window.event;
            var target = e.target || e.srcElement;
            console.log(target);
        };
        // 2. 了解 跟 this 有个非常相似的属性 currentTarget  IE678不认识

    </script>
</body>

</html>